#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    //如果类中有信号槽的声明，就必须加这个宏
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

//自定义信号，只需写出函数声明即可，函数定义是在编译过程中，自动生成的，程序员无法干预
signals:
    //信号和槽可以带参数，但是参数必须一致(类型),个数可以不一致，但是必须信号的参数更多
    //原因：为了让信号和槽可以有多对多的关系，增加可适配性
    void mySignal(const QString& );
//自定义槽，可以加public/private/protected slots，也可以不加
public slots:
    void handleClick();
    void handleMySignal(const QString& );
    void handleClick2();


private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

private:
    Ui::Widget *ui;
    QPushButton* button;
};
#endif // WIDGET_H
